Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* sort.c */
- #include <stdio.h>
- #define ROZMIAR 10
- void sSort(const int*, int*);
- void show(const int*);
- int main(void) {
- int tab[ROZMIAR] = {-9,3,-8,-1,2,3,6,-8,21,4};
- int tab2[ROZMIAR];
- sSort(tab, tab2);
- puts("Tablica przed sortowaniem to:");
- show(tab);
- puts("A po sortowaniu to:");
- show(tab2);
- getchar();
- return 0;
- }
- void sSort(const int A[], int B[]) {
- int lastiMin, i, j;
- int iMin = 0;
- int iMax = 0;
- for (i=0; i<ROZMIAR; i++) {
- if (A[i] < A[iMin])
- iMin = i;
- if (A[i] > A[iMax])
- iMax = i;
- }
- B[0] = A[iMin];
- lastiMin = iMin;
- for (j=0; j<ROZMIAR-1; j++) {
- iMin = iMax;
- for (i=0; i<ROZMIAR; i++)
- if ( (A[i] < A[iMin] && A[i]>B[j]) ||
- (A[i] == B[j] && i > lastiMin) )
- iMin = i;
- B[j+1] = A[iMin];
- lastiMin = iMin;
- }
- }
- void show(const int A[]) {
- int i;
- for (i=0; i<ROZMIAR; i++)
- printf("%d ", A[i]);
- putchar('\n');
- }
Advertisement
Add Comment
Please, Sign In to add comment